home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 1722 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  4.2 KB

  1. Path: usenet.dun.nielsen.com!usenet
  2. From: millerrl@tvratings.com (Robert L. Miller)
  3. Newsgroups: comp.lang.c++
  4. Subject: Compiled Sizes different between compiles
  5. Date: Fri, 12 Jan 1996 14:17:11 GMT
  6. Organization: Nielsen Media Research, Dunedin Florida
  7. Message-ID: <4d5qji$e5o@surf.dun.nielsen.com>
  8. NNTP-Posting-Host: millerrl-pc.dun.nielsen.com
  9. X-Newsreader: Forte Free Agent 1.0.82
  10.  
  11.  
  12.  
  13. Hopefully someone with SUN C++ compiler experience can help us with
  14. this problem.  We are working on a distributed data collection project
  15. using XShell, C++ and Rogue Wave.    After completing our first phase,
  16. we noticed something we perceive to be peculiar.  If the same person
  17. compiles the same code one day versus the next, the executable
  18. generated can be as much as 1K different in size.  Why is this
  19. significant to us?  Besides the professional curiosity, our QA group
  20. feels that if even we can't get the same size executable from day to
  21. day that the code has variables that could lead to failure in
  22. deployment.  We have gone through the investigations of environment,
  23. machine, OS patches etc. to determine what if anything could have
  24. changed from day to day without success.  Our local SUN engineer had
  25. no idea as to why this was occuring, so I turned to this group. 
  26.  
  27. Any help would be greatly appreciated. 
  28.  
  29.  
  30. Problem:    Compiling the same source code and getting different
  31.         executable size.
  32.  
  33. Make:        /opt/SUNWspro/ParallelMake/bin/make (but only setup for one
  34. machine)
  35.         /usr/ccs/bin/make
  36.  
  37.  
  38. Compiler:    CC 3.0.1 02 Mar 1995
  39.  
  40. Options:    Compiling with -g
  41.  
  42. Linking:    XShell 3.5 libraries
  43.         Rogue Wave Tools.h++ 6.1
  44.  
  45. System:        sun4m
  46.         sparc
  47.         SunOS 5.4
  48.         Generic_101945-27
  49.  
  50.  
  51.  
  52.  
  53. Examples of Executable Size:
  54.  
  55. -rwxrwxrwx  1 dannemdl umi        135472 Dec 20 15:06 NameSpaceProxy*
  56.  
  57. -rwxrwxrwx  1 dannemdl umi        134508 Jan  9 14:34 NameSpaceProxy2*
  58. -rwxrwxrwx  1 dannemdl umi        134508 Jan  9 14:50 NameSpaceProxy3*
  59.  
  60. -rwxr-xr-x  1 dannemdl umi        135704 Jan 10 16:45 NameSpaceProxy4*
  61. -rwxr-xr-x  1 dannemdl umi        135704 Jan 10 16:59 NameSpaceProxy5*
  62.  
  63. -rwxrwxrwx  1 dannemdl umi        135672 Jan 11 10:00 NameSpaceProxy6*
  64. -rwxrwxrwx  1 dannemdl umi        135704 Jan 11 10:45 NameSpaceProxy7*
  65. -rwxr-xr-x  1 dannemdl umi        135712 Jan 11 14:36 NameSpaceProxy8*
  66.  
  67.  
  68. Results of examining the NameSpaceProxy5, NameSpaceProxy6, and
  69. NameSpaceProxy7
  70. executable files.
  71.  
  72. Using nm on 5 and 6, the indexes were identical until index 167.  See
  73. below.
  74. After 172, the indexes continued to differ, but the differences were
  75. not
  76. examined closely.
  77.  
  78. NameSpaceProxy5
  79.  
  80. [167]   |    188176|       0|FUNC |GLOB |0    |UNDEF  |socket
  81. [168]   |    188488|       0|FUNC |GLOB |0    |UNDEF
  82. |__0fPXpsInputServiceLInstantiatevT
  83. [169]   |    228480|       1|OBJT |GLOB |0    |16
  84. |$XAboCbKkaD9wy9K.iostream_init
  85. [170]   |    188524|       0|FUNC |GLOB |0    |UNDEF
  86. |__0fOunsafe_ostreamHdo_opfxv
  87. [171]   |    187732|       0|FUNC |GLOB |0    |UNDEF  |__0OnwUi
  88. [172]   |    189004|       0|FUNC |GLOB |0    |UNDEF
  89. |__0fLXpsFrontEndFVOpenRC6NXpsConnection
  90.  
  91.  
  92. NameSpaceProxy6
  93.  
  94. [167]   |    228861|       1|OBJT |GLOB |0    |16
  95. |$XAboCbKkXS9wCUQ.XpsForceLinkIPCServiceInstance
  96. [168]   |    188176|       0|FUNC |GLOB |0    |UNDEF  |socket
  97. [169]   |    188488|       0|FUNC |GLOB |0    |UNDEF
  98. |__0fPXpsInputServiceLInstantiatevT
  99. [170]   |    188524|       0|FUNC |GLOB |0    |UNDEF
  100. |__0fOunsafe_ostreamHdo_opfxv
  101. [171]   |    187732|       0|FUNC |GLOB |0    |UNDEF  |__0OnwUi
  102. [172]   |    189004|       0|FUNC |GLOB |0    |UNDEF
  103. |__0fLXpsFrontEndFVOpenRC6NXpsConnection
  104.  
  105.  
  106. The object files from NameSpaceProxy6 were saved, then NameSpaceProxy7
  107. was
  108. created.  The executables are of different sizes, but the .o files
  109. were
  110. the same identical size.
  111.  
  112. After NameSpaceProxy7 was created, a diff was done between it and
  113. NameSpaceProxy5, which has an identical executable size.  diff said
  114. that there were differences in the executable files.
  115.  
  116.  
  117. NON-DEBUG Version
  118.  
  119. A non-debug version was also created.  The executables are shown
  120. below.
  121.  
  122. Make:        /opt/SUNWspro/ParallelMake/bin/make
  123.  
  124. Compiler:    CC
  125.  
  126. Options:    -R G_CFLAGS=-O CFLAGS='$(INCLUDE) -c -O' CDEBUGFLAGS=-O
  127.  
  128.  
  129. -rwxr-xr-x  1 dannemdl umi         99924 Dec 20 19:27
  130. NameSpaceProxy.nodebug*
  131. -rwxr-xr-x  1 dannemdl umi         99924 Jan 10 18:32
  132. NameSpaceProxy.nodebug2*
  133.  
  134.  
  135.  
  136.